home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
dos
/
c
/
ultratk.exe
/
UVTEST.C
< prev
next >
Wrap
C/C++ Source or Header
|
1991-08-19
|
3KB
|
126 lines
/* uvtest.c A test file for the functions in ULTRA.C --
COMPILE AND LINK WITH VIDEO.OBJ & ULTRA.OBJ
*/
#include "ultra.h"
#include "video.h"
#include <conio.h>
#include <stdio.h>
#define UP_ARR 72
#define DN_ARR 80
#define RT_ARR 77
#define LF_ARR 75
#define DEL 83
#define ESC 27
void make_grid ( void );
extern video_status CRT;
void main ()
{
int key, old_attr;
get_video_status();
old_attr = CRT.attr;
if ( ultra_loaded() ) {
make_grid();
do {
key = getch();
if ( key==0 ) {
key = getch();
switch ( key ) {
case UP_ARR: bump_rows (-1 ); make_grid(); break;
case DN_ARR: bump_rows ( 1 ); make_grid(); break;
case LF_ARR: bump_cols (-1 ); make_grid(); break;
case RT_ARR: bump_cols ( 1 ); make_grid(); break;
case DEL :
if ( ultra_active() ) disable_ultra();
else enable_ultra();
make_grid(); break;
default: break;
}
}
} while ( key != ESC );
disable_ultra();
CRT.attr = old_attr;
clear_screen();
printf("UltraVision is now disabled.\n");
}
else printf ("UltraVision is not loaded.\n");
}
void make_grid ( void )
{
int row, col, mid_col, mid_row;
char n_string[3], message[100];
int normal;
if ( CRT.color ) normal=(BLUE<<4)|WHITE;
else normal=(LIGHTGRAY<<4)|BLACK;
CRT.attr = normal;
clear_screen(); /* puts cursor at 1,1 */
hide_cursor();
row = 1;
mid_col = CRT.cols / 2;
mid_row = CRT.rows / 2;
while ( row < CRT.rows ) {
put_char ( '|' );
col = 2;
if ( row == mid_row ) {
while ( col < CRT.cols ) {
if ( (col%10)==0 ) put_char ( '+' );
else put_char ( '-' );
col++;
}
}
else {
while ( col < CRT.cols ) {
if ( col==mid_col ) {
sprintf ( n_string, "%2d", row );
put_string ( n_string, normal,row,col );
col++;
}
else put_char ( '-' );
col++;
}
}
put_char ( '|' );
row++;
}
sprintf ( message, "R:%2d C:%2d Card:%2d UVMode:%#x Video:%2d", \
CRT.rows, CRT.cols, get_ultra_card(), get_ultra_mode(),\
CRT.mode);
put_string ( message, 0,0,0 );
show_cursor();
goto_rc ( mid_row+2, mid_col-18 );
put_string ( "Use DN/UP ARR to inc/dec rows.",0,0,0 );
goto_rc ( mid_row+3, mid_col-18 );
put_string ( "Use RT/LF ARR to inc/dec cols.",0,0,0 );
goto_rc ( mid_row+4, mid_col-18 );
put_string ( "Use DEL Key to toggle UltraVision.",0,0,0 );
goto_rc ( mid_row+5, mid_col-18 );
put_string ( "Press ESC to exit ... ",0,0,0 );
}
/* end uvtest.c */